#pragma once
#ifndef DEVIATIONFROMEXPECTEDFILTER_H
#define DEVIATIONFROMEXPECTEDFILTER_H

#include <linkfilter.h>
#include <anatomicallink.h>
#include <functionalnetwork.h>
#include <QVector>

class DeviationFromExpectedFilter :
	public LinkFilter
{
public:
	enum FilterMode
	{
		BetweenIn,
		BetweenOut
	};

	DeviationFromExpectedFilter(void);
	~DeviationFromExpectedFilter(void);

	void setDeviationValue(double val);
	void setFilterMode(FilterMode m);
	void setNetwork(FunctionalNetwork *net);

	virtual bool accepts(AnatomicalLink*);
	virtual inline LinkFilter::FilterType getType() { return LinkDeviationFromExpectedFilter; }

private:
	FilterMode mode;
	FunctionalNetwork *network;
	double devValue;
};

#endif //DEVIATIONFROMEXPECTEDFILTER_H